package com.hq.myapplicationdemo.utils;

import android.content.Context;

import android.widget.ImageView;

import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.load.resource.bitmap.CircleCrop;
import com.bumptech.glide.request.RequestOptions;

public class GlideUtil {

//    private final static int[] defaultColorId = {R.color.default_color1, R.color.default_color2, R.color.default_color3};

    /**
     * 加载图片--充满屏幕
     *
     * @param image
     * @param imageView
     */
    public static void loadImgCenterCrop(Context context, String image, ImageView imageView) {

        Glide.with(context)
                .load(image)

                .thumbnail(0.1f)

                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                    .thumbnail(0.1f)
                .centerCrop()//设置图片充满屏幕
                .into(imageView);
    }


    /**
     * 加载图片--充满屏幕
     *
     * @param imageId
     * @param imageView
     */
    public static void loadImgCenterCrop(Context context, int imageId, ImageView imageView) {
      //  Drawable drawable = getRandomColorDrawable(context);
        Glide.with(context)
                .load(imageId)

                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                    .thumbnail(0.1f)
                .centerCrop()//设置图片充满屏幕
                .into(imageView);
    }

    /**
     * 加载图片--充满屏幕
     *
     * @param image
     * @param imageView
     */
    public static void loadImgCenterCrop(Context context, String image, ImageView imageView, int defaultRes) {
        Glide.with(context)
                .load(image)
                .placeholder(defaultRes)
                .error(defaultRes)
                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                    .thumbnail(0.1f)
                .centerCrop()//设置图片充满屏幕
                .into(imageView);
    }

//    /**
//     * 加载图片--充满屏幕\带圆角
//     *
//     * @param image
//     * @param imageView
//     */
    public static void loadImgCenterCropRound(Context context, String image, ImageView imageView, int roundCorners) {

        Glide.with(context)
                .load(image)

                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                .signature(new ObjectKey(System.currentTimeMillis()/1000/60))

                .into(imageView);
    }

//    /**
//     * 加载图片--充满屏幕\带圆角
//     *
//     * @param image
//     * @param imageView
//     */
    public static void loadImgCenterCropRound(Context context, String image, ImageView imageView, int roundCorners, int defaultRes) {
        Glide.with(context)
                .load(image)
                .placeholder(defaultRes)
                .error(defaultRes)
                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                .signature(new ObjectKey(System.currentTimeMillis()/1000/60))
                //.apply(RequestOptions.bitmapTransform(new GlideRoundTransform(roundCorners)))//自定义充满屏幕+圆角
                .into(imageView);
    }

//    /**
//     * 加载图片--图片居中展示
//     *
//     * @param image
//     * @param imageView
//     */
//    public static void loadImg(Context context, String image, ImageView imageView) {
//        Drawable drawable = getRandomColorDrawable(context);
//        Glide.with(context)
//                .load(image)
//                .placeholder(drawable)
//                .error(drawable)
//                .diskCacheStrategy(DiskCacheStrategy.ALL)
////                    .thumbnail(0.1f)
//                .into(imageView);
//    }

//    /**
//     * 加载图片--图片居中展示
//     *
//     * @param image
//     * @param imageView
//     */
//    public static void loadImg(Context context, int image, ImageView imageView) {
//        Drawable drawable = getRandomColorDrawable(context);
//        Glide.with(context)
//                .load(image)
//                .placeholder(drawable)
//                .error(drawable)
//                .diskCacheStrategy(DiskCacheStrategy.ALL)
////                    .thumbnail(0.1f)
//                .into(imageView);
//    }


//    /**
//     * 加载图片
//     *
//     * @param image
//     * @param imageView
//     */
//    public static void loadCircleImg(Context context, String image, ImageView imageView) {
//
//        Drawable drawable = getRandomColorDrawable(context);
//        Glide.with(context)
//                .load(image)
//                .apply(RequestOptions.bitmapTransform(new CircleCrop()))
//                .placeholder(drawable)
//                .error(drawable)
//                .diskCacheStrategy(DiskCacheStrategy.ALL)
////                    .thumbnail(0.1f)
////                .centerCrop()//设置图片充满屏幕
//                .into(imageView);
//    }

//    private static Drawable getRandomColorDrawable(Context context) {
//        int random = (int) (Math.random() * (defaultColorId.length - 1));
//        int color = defaultColorId[random];
//        return new ColorDrawable(context.getResources().getColor(color));
//    }

    public static void loadHead(Context context, String image, ImageView imageView, int defaultImgRes) {
        Glide.with(context)
                .load(image)
                .apply(RequestOptions.bitmapTransform(new CircleCrop()))
                .placeholder(defaultImgRes)
                .error(defaultImgRes)
                .diskCacheStrategy(DiskCacheStrategy.ALL)
//                    .thumbnail(0.1f)
//                .centerCrop()//设置图片充满屏幕
                .into(imageView);
    }
}
